abstract class in java with example